using System;
using System.ComponentModel;
using System.Runtime.InteropServices;

namespace qPrintComponent
{

    //typedef struct _PRINTER_INFO_4 { 
    //  LPTSTR  pPrinterName;   0  
    //  LPTSTR  pServerName;    1
    //  DWORD  Attributes;      2
    //} PRINTER_INFO_4, *PPRINTER_INFO_4; 

    public sealed class PrinterInfo4  :qSafePrinterInfo
    {
        internal PrinterInfo4(SafeHandle PrinterHandle)
            : base(PrinterHandle,4)
        {
        }
       
        public override string ToString()
        {
            return ServerName;
        }
        [Description("The name of the printer (local or remote).")]
        [DisplayName("Printer Name")]
        public string PrinterName4
        {
            get { return GetStringField(0);}
        }
        [Description("The name of the server.")]
        [DisplayName("Server Name")]
        public string ServerName
        {
            get { return GetStringField(1);}
            
        }
        //[Description("Printer Attributes.")]
        //[DisplayName("Printer Attributes")]
        //public qAttributes Attributes
        //{
        //    get { return new qAttributes(this, GetIntField(2)); }
        //}
    }
}